require 'documenttransferclient'
require 'key'

client = DocumentTransferClient.new("localhost", "localhost")
client.connect

key = Key.new("value")

doc = client.get_all_documents(key.to_s)

if doc == nil
  puts "Erro obtendo todos os documentos"
else
  arq = File.new("saida_client_todos_os_documentos", "wb")
  arq.write(doc)
  arq.close
  puts "Sucesso ao obter todos os documentos"
  puts "Arquivo recebido escrito em: saida_client_todos_os_documentos"
end

doc = client.get_document("H" * 64, key.to_s)

if doc == nil
  puts "Erro obtendo o documento"
else
  arq = File.new("saida_client_documento", "wb")
  arq.write(doc)
  arq.close
  puts "Sucesso ao obter todos os documentos"
  puts "Arquivo recebido escrito em: saida_client_documento"
end

arq = File.open("teste", "rb")
doc = arq.read
arq.close

if client.insert_document("H" * 64, doc, key.to_s) == true
  puts "Documento inserido com sucesso."
else
  puts "Erro ao inserir documento."
end

if client.update_document("H" * 64, doc, key.to_s) == true
  puts "Documento atualizado com sucesso."
else
  puts "Erro ao atualizar documento."
end

if client.remove_document("H" * 64, key.to_s) == true
  puts "Documento removido com sucesso."
else
  puts "Erro ao remover documento."
end

puts 'Pressione x para sair.'

while true
  if gets == "x\n"
    client.close
    break
  end
  puts '--------------------------------------------------------'
  puts ""
  puts 'Pressione x para sair.'
end
